Minimize Usage of Pseudo-instructions
The GNU Assembler, and probably many other assemblers, implements pseudo-instructions for convenience. In some instances it would require manual calculation of address to use instruction directly. This is justified, for your well on your way to writing human-readable machine code if you do that. But many pseudo-instructions save no more than a couple lines that are easy to write. These are not good, because they create an unnecessary abstraction. It cannot be stressed enough that convenience is good only in moderation. In X86 Assembly, the LEAVE pseudo-instruction expands to just two instructions, which never vary.
enter
is the same as:
push %ebp
This could easily be implemented with a macro. The ENTER pseudo-instruction does the reverse operation. Use macros or type the intructions yourself so you depend less on Intel micro code and actually understand what is happending. In ARM Assembly, the LDR pseudo-instruction calculates the PC offset for you; this is good. But you can add another abtraction on top of this by using the equal sign.
label:
is the same as:
label:
This is stupid. Write all the labels yourself; it isn't hard and it hides less. By using only the pseudo-instructions that save significant time you can understand the Assembly language better and your code will be slightly less bloated. All with little effort. Print this article |